package com.ess.web.controller.sys;


import com.blgroup.b2b.web.dto.MenuResDto;
import com.blgroup.b2b.web.dto.QueryUserPrivilegeReqDto;
import com.blgroup.b2b.web.service.sys.SysCodeService;
import com.blgroup.b2b.web.service.sys.UserService;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.util.List;


/**
 * 
 * @author Zhangyoumin(YouMing.Zhang@bl.com)
 *
 * @Date 2016年6月9日
 *
 */
@Controller
public class PageController {
	
	private static final Logger logger = LoggerFactory.getLogger(PageController.class);
	
	@Autowired
	SysCodeService sysCodeService;
	
	@Autowired
	UserService userService;


	/**
	 * 
	 * 方法描述：   加载系统菜单
	 * 业务逻辑说明  ：加载系统菜单 
	 * @Title: initMenu 
	 * @date 2016年12月5日 下午5:19:30
	 * @author tylong
	 * @modifier 
	 * @modifydate 
	 * @param model
	 * @param request
	 * @return
	 */
	@RequestMapping("/initMenu")
	@ResponseBody
	public Object initMenu(Model model, HttpServletRequest request) {
		//获取当前的Subject  
       Subject currentUser = SecurityUtils.getSubject(); 
       //加载用户菜单
       QueryUserPrivilegeReqDto user=new QueryUserPrivilegeReqDto();
       user.setIsPage("0");//不分页
       user.setUserName(currentUser.getPrincipal().toString());
       List<MenuResDto> menuList=userService.getMenuList(user);
		return menuList;
	}
	
	/**
	 * 
	 * 方法描述：   没有访问权限
	 * 业务逻辑说明  ：没有访问权限 
	 * @Title: unauthorized 
	 * @date 2016年12月2日 下午6:04:48
	 * @author tylong
	 * @modifier 
	 * @modifydate 
	 * @param model
	 * @param dto
	 * @param result
	 * @param request
	 * @return
	 */
	@RequestMapping(value="/403")
	public String unauthorized(HttpServletRequest request) {
		logger.info("------没有访问权限-------");
        return "403";

	}
	
	/**
	 * 
	 * 方法描述：   首页
	 * 业务逻辑说明  ：首页 
	 * @Title: index 
	 * @date 2016年12月2日 下午6:04:48
	 * @author tylong
	 * @modifier 
	 * @modifydate 
	 * @param request
	 * @return
	 */
	@RequestMapping(value="/")
	public String index(HttpServletRequest request) {
        return "index";
	}
}
